package com.itheima.demo03functionalinterface;

import java.util.function.Predicate;

public class Demo08PredicateAndOr {
    // 使用Lambda表达式判断一个字符串中即包含W,也包含H
    // 使用Lambda表达式判断一个字符串中包含W或者包含H
    // 使用Lambda表达式判断一个字符串中不包含W
    public static void main(String[] args) {
        test((String str) -> {
            return str.contains("H");
        }, (String str) -> {
            return str.contains("W");
        });
    }

    private static void test(Predicate<String> predicate1, Predicate<String> predicate2) {
        // 使用Lambda表达式判断一个字符串中即包含W,也包含H
        Boolean flag1 = predicate1.and(predicate2).test("WSDSDH");
        System.out.println(flag1);

        // 使用Lambda表达式判断一个字符串中包含W或者包含H
        Boolean flag2 = predicate1.or(predicate2).test("WWWW");
        System.out.println(flag2);

        // 使用Lambda表达式判断一个字符串中不包含W
        Boolean flag3 = predicate2.negate().test("WWWW");
        System.out.println(flag3);
    }


}
